package cn.wolfcode.luowowo.community.domain;

import cn.wolfcode.luowowo.article.domain.Destination;
import cn.wolfcode.luowowo.common.domain.BaseDomain;
import cn.wolfcode.luowowo.member.domain.UserInfo;
import lombok.*;
import org.springframework.util.StringUtils;

import java.util.Date;
import java.util.List;

@Setter
@Getter
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class CommunityQuestion extends BaseDomain {

    // 标题
    private String title;

    // 作者
    private UserInfo author;

    // 内容
    private CommunityQuestionContent content;

    // 目的地
    private Destination dest;

    // 标签字符串
    private String tagsIds;
    // 标签id数组
    private Long[] idsArr;
    private List<CommunityQuestionTag> tagList;

    // 创建时间
    private Date createTime;

    // 发布时间
    private Date releaseTime;

    // 顶的个数
    private int thumbnum;

    // 评论数
    private int replynum;

    // 浏览数
    private int viewnum;

    // 状态
    private int status;

    // 关注数
    private int focusnum;

    //从数据库拿出的id拼接字符串转换成数组
    public Long[] getIdsArr(){
        Long[] ids = null;
        if(StringUtils.hasLength(tagsIds)){
            String[] strs = tagsIds.split(",");
            ids = new Long[strs.length];
            for (int i = 0; i <strs.length ; i++) {
                ids[i] =  Long.parseLong(strs[i]);
            }
        }
        return ids;
    }

    //添加编辑时，前端传入是long数组， 数据库保存的是id拼接的字符串
    public String getTagsIds(){
        if(idsArr!=null){
            return StringUtils.arrayToDelimitedString(idsArr, ",");
        }
        return null;

    }
}